package com.ia.aistream.model.operating.entity;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ia.aistream.common.type.JSONObjectTypeHandler;
import com.ia.aistream.common.type.JsonArrayTypeHandler;
import lombok.Getter;
import lombok.Setter;
import com.ia.aistream.common.annotation.Excel;
import com.ia.aistream.common.core.domain.AIBaseEntity;

/**
 * 文件索引信息表对象 doc_index
 * 
 * @author aistream
 * @date 2021-01-25
 */
@Setter
@Getter
@TableName("doc_index")
public class DocIndex extends AIBaseEntity
{
    private static final long serialVersionUID = 1L;

    /** null */
    @TableId(type = IdType.AUTO)
    private Long id;
    
    /** 文件的名称 */
    @Excel(name = "文件的名称")
        private String fileName;
    
    /** 文件名称样式 */
    @Excel(name = "文件名称样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject fileNameStyle;
    
    /** 文件的类型 */
    @Excel(name = "文件的类型")
        private String fileType;
    
    /** 文件类型样式 */
    @Excel(name = "文件类型样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject fileTypeStyle;
    
    /** 公司logo地址 */
    @Excel(name = "公司logo地址")
        private String fileLogo;
    
    /** 公司logo地址样式 */
    @Excel(name = "公司logo地址样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject fileLogoStyle;
    
    /** 文件编码 */
    @Excel(name = "文件编码")
        private String fileCode;
    
    /** 文件编码样式 */
    @Excel(name = "文件编码样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject fileCodeStyle;
    
    /** 文件的版本 */
    @Excel(name = "文件的版本")
        private String fileVersion;
    
    /** 文件的版本样式 */
    @Excel(name = "文件的版本样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject fileVersionStyle;
    
    /** 文件的版次 */
    @Excel(name = "文件的版次")
        private String fileEdition;
    
    /** 文件的版次样式 */
    @Excel(name = "文件的版次样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject fileEditionStyle;
    
    /** 总页数 */
    @Excel(name = "总页数")
        private String filePages;
    
    /** 总页数样式 */
    @Excel(name = "总页数样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject filePagesStyle;
    
    /** 附录数 */
    @Excel(name = "附录数")
        private String fileAppendix;
    
    /** 附录数样式 */
    @Excel(name = "附录数样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject fileAppendixStyle;
    
    /** 批准实施 */
    @Excel(name = "批准实施")
        private String approval;
    
    /** 批准实施样式 */
    @Excel(name = "批准实施样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject approvalStyle;
    
    /** 批准日期 */
    @Excel(name = "批准日期")
        private String approvalDate;
    
    /** 批准日期样式 */
    @Excel(name = "批准日期样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject approvalDateStyle;
    
    /** 分发部门 */
    @Excel(name = "分发部门")
        private String distribute;
    
    /** 分发部门样式 */
    @Excel(name = "分发部门样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject distributeStyle;
    
    /** 执行等级 */
    @Excel(name = "执行等级")
        private String runLevel;
    
    /** 执行等级样式 */
    @Excel(name = "执行等级样式")
    @TableField(typeHandler = JsonArrayTypeHandler.class)
        private JSONArray runLevelStyle;
    
    /** 质量级别 */
    @Excel(name = "质量级别")
        private String qualityLevel;
    
    /** 质量级别样式 */
    @Excel(name = "质量级别样式")
    @TableField(typeHandler = JsonArrayTypeHandler.class)
        private JSONArray qualityLevelStyle;
    
    /** 文件历史编码 */
    @Excel(name = "文件历史编码")
        private String fileHistoryCode;
    
    /** 文件历史编码样式 */
    @Excel(name = "文件历史编码样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject fileHistoryCodeStyle;
    
    /** 下次升级时间 */
    @Excel(name = "下次升级时间")
        private String upgradeTime;
    
    /** 下次升级时间样式 */
    @Excel(name = "下次升级时间样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject upgradeTimeStyle;
    
    /** 升级原因 */
    @Excel(name = "升级原因")
        private String upgradeReason;
    
    /** 升级原因样式 */
    @Excel(name = "升级原因样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject upgradeReasonStyle;
    
    /** 文件存放位置 */
    @Excel(name = "文件存放位置")
        private String fileLocation;
    
    /** 文件存放位置样式 */
    @Excel(name = "文件存放位置样式")
    @TableField(typeHandler = JSONObjectTypeHandler.class)
        private JSONObject fileLocationStyle;
    
    /** 删除标志（0代表存在 2代表删除） */
    

}
